:root {
  /* 根元素 */
  --primary-color: #31c27c; /* css自定义属性/变量--全局 */
}
body {
  margin: 0;
  background: #f5f5f5;
  font-family: Microsoft Yahei;
  font-size: 14px;
  /* min-width: 1000px; */ /* 限制影响布局最小宽度 */
}
a {
  /* 所有a标签取消下划线，字体颜色呈现黑色 */
  text-decoration: none;
  color: #000;
}
header {
  /* header标签弹性布局，容器内项居中，容器高度90px白色背景 */
  height: 90px;
  background: white;
  display: flex;
  align-items: center;
}
.header-inner,
main {
  /* header logo 居中 */
  /* width: 1200px; */
  padding: 20px;
  margin: auto;
}
.tag-list {
  /* 导航栏调整上下外边距大小调整位置 */
  margin-top: 50px;
  margin-bottom: 15px;
}
.tag-item {
  /* 导航栏中的项目 */
  display: inline-block; /* 内敛元素呈现块的宽高可调性 */
  padding: 0 8px; /* 内边距上下0，左右8px，扩大背景区域以选中时的颜色变化更明显提高用户体验 */
  margin-right: 24px; /* 设置右外边距，推开右侧元素，增加间距 */
  line-height: 26px; /* 增大行高，优化背景选中效果提高用户体验 */
  color: #000; /* 内容呈现黑色 */
  text-decoration: none; /* 去除项目链接的下划线 */
}
.tag-active {
  background: var(--primary-color);
  color: white;
}
.tag-item:not(.tag-active):hover {
  /* 导航项目中除.tag-active类(选中项目类)外其他项目在鼠标停留时文本颜色变色 */
  color: var(--primary-color);
}
.nowrap {
  /* 一般同时使用以下三个样式来隐藏超出文本并提示用户 */
  white-space: nowrap; /* 文本中不换行 */
  overflow: hidden; /* 溢出内容隐藏 */
  text-overflow: ellipsis; /* 省略号提示文本超出 */
}
.playlist {
  /* 网格布局*/
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  /* 自动根据宽度尽可能多的分派网格列 */
  gap: 45px 15px; /* 网格元素间距 */
  margin-bottom: 45px; /* 整体的下边距 */
}
.cover-wrap {
  display: flex; /* 弹性布局来垂直居中对齐元素 */
  position: relative; /* 相对定位，以使内部元素相对他来绝对定位 */
  overflow: hidden; /* 隐藏溢出内容 */
  width: 100%;
  margin-bottom: 15px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.cover-img {
  width: 100%;
  transition: all 0.75s; /* 渐变效果 */
}
.cover-mask {
  /* 绝对定位使得遮罩覆盖整个图片 */
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #000;
  opacity: 0; /* 初始完全透明 ，遮罩不可见*/
  transition: all 0.5s; /* 渐变效果 */
}
.cover-play {
  /* 绝对定位：使得播放按钮位于图片中心*/
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -35px;
  margin-top: -35px;
  opacity: 0; /* 初始完全透明,play按钮不可见 */
  transform: scale(0.7); /* play按钮初始缩放 */
  transition: all 0.5s; /* 渐变效果 */
}
.cover-wrap:hover .cover-mask {
  opacity: 0.2; /* 遮罩的不透明度渐变 */
}
.cover-wrap:hover .cover-play {
  /* 播放按钮的不透明度和缩放渐变 */
  opacity: 1;
  transform: scale(1);
}
.cover-wrap:hover .cover-img {
  transform: scale(1.07); /* 封面图片的缩放渐变 */
}
.album-title:hover {
  /* 专辑标题鼠标停留变色效果 */
  color: var(--primary-color);
}
.album-author {
  /* 专辑作者样式 */
  color: #999;
  line-height: 1.6;
}
.album-author:hover {
  /* 专辑作者鼠标停留变色效果 */
  color: var(--primary-color);
}
.album-time {
  /* 专辑时间样式 */
  color: #999;
}
.page {
  /* 页码栏弹性布局水平垂直居中 */
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-item {
  /* 页码的样式 */
  display: inline-block; /* 未使用该特性？？ */
  color: #a2a2a2;
  line-height: 50px;
  padding: 0 20px;
  margin: 10px;
  font-size: 16px;
}
.page-current,/* 设置选中页码样式 */
.page-item:not(.page-more):hover {
  /* 设置有效显示页码(除神略符外)鼠标停留效果 */
  background: var(--primary-color);
  color: white;
}
footer {
  /* 页脚样式 */
  margin-top: 60px;
  background: #333;
  height: 200px;
}
